home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / qscrt121.arc / SCRIPT.DOC < prev    next >
Text File  |  1990-09-26  |  12KB  |  253 lines

  1.          QscrTerm Script Language Ver 1.21ß
  2.          ----------------------------------
  3.  
  4.          History
  5.          -------
  6.  
  7.           From the early days of QscrTerm, we were asked to include a
  8.          simple script language in the QscrTerm package. After QscrTerm
  9.          became more and more popular, we decided to include a simple
  10.          beta version of the QscrTerm Script Language, so we could get
  11.          support and comments from users that would help us establish
  12.          the formal non-beta version of the Script Language
  13.  
  14.           So, this version of QscrTerm includes a Script compiler and
  15.          script options, all are beta tests. We would like to remind
  16.          that the QscrTerm itself is not a beta ! Only the Script
  17.          options are.
  18.  
  19.          What can a Script program do ?
  20.          -------------------------------
  21.  
  22.           Well, this beta release of the Script Language is a bit
  23.          limited. Still, you will be able to write programs that
  24.          automatically log on to your BBS, poll mail, go threw the
  25.          menus and more. All this is made using few simple commands.
  26.          A Script Language is just like every other language, we put
  27.          the commands, and the user makes the best of them !
  28.  
  29.          How to use it.
  30.          ---------------
  31.  
  32.           The Script Language includes a Script compiler called
  33.          QscrScom. In order to write a Script program, you may use
  34.          every editor you like, on one condition - it can produce pure
  35.          ascii files. After you have your pure ascii file program, run
  36.          the QscrScom with the file name in the command line.
  37.  
  38.           All source files of the Script Language must have the file
  39.          extension SOR ( source ). When running the compiler, you must
  40.          only write the file name, the SOR extension would be automatically
  41.          assumed. After compiling the file, if no errors were detected,
  42.          a file with the same name, but the extension COD ( code ) would
  43.          be generated. This file is the file QscrTerm may run.
  44.  
  45.          Running A Script program.
  46.          --------------------------
  47.  
  48.           In the QscrCfg, the configuration file, there is a parameter
  49.          regarding the path of the script programs. This parameter should
  50.          be filled by know, and the path written should contain all the
  51.          script programs you may wish to run.
  52.  
  53.           Once having the path set, just run QscrTerm. From within the
  54.          terminal press F9 ( Run Script hotkey ), or choose "Run Script"
  55.          from within the Main Menu. You'll be asked for the script name
  56.          to run. Type the script program name ( remember, it must resides
  57.          in the path you write in the configuration file, and it you should
  58.          not enter the file extension, it is automatically *.COD ), and
  59.          that is it ! From now on, the script is running. Notice that when
  60.          the script is running, you are still able to send keys to the
  61.          modem, thus interfiring the script ( or helping it... ). To end
  62.          the script program, you can wait till it is finished, or just hit
  63.          F9 again. If hitting F9 while a script is running, you'll be asked
  64.          if you want to terminate it or to continue from where it was stopped.
  65.  
  66.          Auto Logon.
  67.          -----------
  68.  
  69.           QscrTerm offers a very flexible LogOn mechanism. That is, you
  70.          can specify to each BBS in the dialing directory, a script file
  71.          to run when you have "CONNECT".
  72.  
  73.           In the Dialing Dir, fill all the BBSes you like to call. In the
  74.          LogOn Script field, enter the script to run when the BBS answers.
  75.          Remember, write only the script filename, no extension, no path
  76.          ( like when hitting F9, remember ? ). Now, when you call a BBS,
  77.          and the QscrTerm receives a "CONNECT" signle from the modem, it
  78.          would automatically run the script for that BBS. This way, you
  79.          can have a script logon automatically for you, write your name,
  80.          password and much much more !
  81.  
  82.          Commands Summary.
  83.          -----------------
  84.  
  85.           Till now we talked about the general idea of scripts, and the
  86.          way to use them. Now we would go over the various commands available
  87.          in the QscrTerm Script Language. When writing a script program, each
  88.          command should be placed in a new line, with its parameters. ( commands
  89.          are not case sensitive ).
  90.  
  91.           Lets begin:
  92.  
  93.          WAITFORMYNAME - This command would make the script program wait
  94.          till the user name is received threw the modem. The name is taken
  95.          from the configuration file. For example, if you wish to wait till
  96.          your name is sent, and then do something, use this command !
  97.  
  98.          WAITFORSTRING <string> - This command is a more flexible way to wait
  99.          for any string received from the modem. You could use this command
  100.          and wait for your name, by writing your name in the parameter field.
  101.          The string the program is waiting for, can be case sensitive or not.
  102.          This is determined according to the Case Sensitive flag. The default
  103.          mode is FALSE, meaning case is not sensitive, but by using a command
  104.          detailed in a minute, you could safely set this flag as wished.
  105.          For example, if you want to wait till the string "password" is
  106.          received, just write the command:
  107.  
  108.                      WAITFORSTRING password
  109.  
  110.          SENDMYNAME - This command would just send your name threw the modem.
  111.          Again, the name is taken from the configuration file.
  112.  
  113.          SENDSTRING <string> - This command is more flexible from the above.
  114.          Using it, you can just send any string threw the modem. For example,
  115.          if you wish to send the string "hello there", just write the following
  116.          command:
  117.  
  118.                      SENDSTRING hello there
  119.  
  120.          SKIPBYTES <number> - This command would make the program wait till
  121.          the specified number of chars/bytes are received threw the modem. It
  122.          can be usefull as a delay, or just for anything else. For example, to
  123.          wait till 11 bytes are sent, just type:
  124.  
  125.                      SKIPBYTES 11
  126.  
  127.          DELAY <number> - This command would make the program delay the
  128.          specified number of clock ticks. For example, to make the program
  129.          wait half a second, just type:
  130.  
  131.                      DELAY 10 { 10*18=480 ~ 500 }
  132.  
  133.          SENDMYPASSWORD - This command sends the user's password threw the
  134.          modem. This is equivalent to hitting Alt-W from the terminal, it
  135.          sends the password taken from the dialing directory record of the
  136.          BBS connected to.
  137.  
  138.          WAITFORSILENCE - This command would just wait till nothing is
  139.          received from the modem. It is very usefull if your host can not
  140.          be sent any information while it is sending you, this command would
  141.          wait till no transfer is made threw the modem. After this command
  142.          you can be sure the host is ready to get your transfer with no
  143.          problems. For example, if you wish to wait till the hose is not sending
  144.          any info, and only then send you name to him, write the two commands:
  145.  
  146.                      WAITFORSILENCE
  147.                      SENDMYNAME
  148.  
  149.          CASEOFF - This command would make all comparisons not case sensitive.
  150.          All the WAIT... commands would ignore case when comparing the string
  151.          entered to the string received from the modem.
  152.  
  153.          CASEON - This would make all comparisons case sensitive, meaning that
  154.          all the WAIT... commands would not ignore case when comparing the
  155.          string entered to the string received from the modem.
  156.  
  157.          SENDCHAR# <number> - This command would send one char/byte that his
  158.          ascii is specified as the number. For example, to send the <ESC> char
  159.          to the modem ( its ascii code is 27 ), write the command:
  160.  
  161.                      SENDCHAR# 27
  162.  
  163.          AUTOTRANSFERON - This command would turn the AutoTransfer flag to ON.
  164.          This is good for example if you are writing a script that envolves
  165.          files transfers. You can set autotransfer to on, and sit safe knowing
  166.          that the transfer would be automatically made.
  167.  
  168.          AUTOTRANSFEROFF - This would set the auto transfer flag to false, no
  169.          file transfers would start automatically.
  170.  
  171.          PROTOCOL <name> - The PROTOCOL command chooses the protocol to use in
  172.          the next file transfer. Notice that the protocol name is not case
  173.          sensitive.
  174.  
  175.          UPLOAD <string> - This command would start an upload, using the string
  176.          as the parameters ( file names etc ), using the protocol chosen using
  177.          then PROTOCOL command.
  178.  
  179.          DOWNLOAD <string> - Same us UPLOAD, but download using the PROTOCOL
  180.          chosen and the string as the command line ( maybe an empty string ).
  181.  
  182.          HITENTER - This command just sends the <Enter> ascii code, #13, to
  183.          the modem, merely immitating an <Enter> pressing.
  184.  
  185.          ASCIIUPLOAD <file name> - This command starts an ascii upload, using
  186.          the file name specified. The file specified would be ascii uplaoded.
  187.  
  188.          Loops.
  189.          -------
  190.  
  191.          Version 1.21ß of the Quick Screens Scripts, will only provide simple
  192.          loop commands. In fact, the two loop commands are very simple and
  193.          straight ahead. The two commands are written as follows:
  194.  
  195.          LOOPUNTIL <string>
  196.            .   .   .
  197.            .   .   .
  198.            .   .   .
  199.            <any commands here to be looped>
  200.            .   .   .
  201.            .   .   .
  202.            .   .   .
  203.          ENDLOOP
  204.  
  205.          The commands between the two loop commands, are the commands to be
  206.          executed until the string written in the LOOPUNTIL command is
  207.          received. Note, that nested loops are not supported in this version.
  208.  
  209.          For example, to make a loop that sends the string "GO AWAY" until
  210.          the string "GONE" is received, type the following sequence:
  211.  
  212.                      LOOPUNTIL gone
  213.                       sendstring go away
  214.                      ENDLOOP
  215.  
  216.           An example.
  217.           -----------
  218.  
  219.            Till here all the commands. Now, lets end with a simple example
  220.           of a script program that automatically logs on to your host BBS.
  221.  
  222.            The program should send two <ESC> keys in order to make FrontDoor
  223.           run the BBS. Then it should wait to the string "name:" and send your
  224.           name, and to the string "password:" and send your password. The
  225.           prorgam is very simple and readable, here it is:
  226.  
  227.  
  228.  
  229.           SENDCHAR# 27
  230.           SENDCHAR# 27
  231.           WAITFORSTRING name:
  232.           SENDMYNAME
  233.           WAITFORSTRING password:
  234.           SENDMYPASSWORD
  235.  
  236.  
  237.  
  238.           That is it ! Nothing to it, ha ?
  239.  
  240.           Future.
  241.           -------
  242.  
  243.            As already mentioned, this is just a beta release of the Script
  244.           Language. We are waiting for suggestions and comments, so we can
  245.           improve the language much more, and make it have all the options
  246.           users are waiting for !
  247.  
  248.            So, please send as any comment whatsoever - Our addresses are
  249.           available in the QscrTerm docs, and in the terminal.
  250.  
  251.  
  252.  
  253.